00001 /////////////////////////////////////////////////////////////////////////////// 00002 /// @file Internal.hpp 00003 /// 00004 /// @brief Destiny3D Internal Memory Manager for Memory Manager 00005 /// 00006 /// @author Lightning 00007 /// 00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the 00009 /// contents of this file is subject to the Destiny3D Member License which 00010 /// can be found at http://www.destiny3d.com. Any other usage is prohibited. 00011 /// 00012 /// This file is distributed "AS IS" without warranty of any kind. Novus 00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file 00014 /// for any particular purpose. 00015 /// 00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved. 00017 /// 00018 /// <hr> 00019 /// Change History 00020 /// <hr> 00021 /// 00022 /// @date Dec 2002 00023 /// @author Lightning 00024 /// @remarks Creation 00025 /// 00026 /////////////////////////////////////////////////////////////////////////////// 00027 00028 #include "deGlobalTypes.hpp" 00029 #include "deMemory_priv.hpp" 00030 00031 #ifndef INTERNAL_MEM_HPP 00032 #define INTERNAL_MEM_HPP 00033 00034 //the internal struct for internal blocks 00035 typedef struct InternalStruct 00036 { 00037 InternalStruct *Next; 00038 InternalStruct *Prev; 00039 DWORD Size; 00040 } InternalStruct; 00041 00042 //init/release functions for internal memory 00043 deBoolean InitializeInternalMem(DWORD PageCount); 00044 void ReleaseInternalMem(); 00045 00046 //these functions are for internal memory allocation/deallocation. The internal memory has 00047 //NO, i repeat, NO checks. you CAN, and WILL trash the internal memory, probably bringing 00048 //the memory manager down if you overflow or underflow your allocated space 00049 void *InternalAlloc(DWORD Size); //max size, 0xFC00 00050 void InternalFree(void *Ptr, DWORD Size); 00051 00052 #endif
1.3-rc3